package com.ethank.entity.billRecognize;

import com.ethank.common.annotation.Excel;

import java.util.List;

/**
 * @author Administrator
 * 增值税发票识别实体类
 */
public class InvoiceBill {
    // 发票代码
    @Excel(name = "发票代码", prompt = "发票代码")
    private String invoiceCode;

    // 发票号码
    @Excel(name = "发票号码", prompt = "发票号码")
    private String invoiceNumber;

    // 机打发票代码
    @Excel(name = "机打发票代码", prompt = "机打发票代码")
    private String printedInvoiceCode;

    // 机打发票号码
    @Excel(name = "机打发票号码", prompt = "机打发票号码")
    private String printedInvoiceNumber;

    // 开票日期
    @Excel(name = "开票日期", prompt = "开票日期")
    private String invoiceDate;

    // 机器编码
    @Excel(name = "机器编码", prompt = "机器编码")
    private String machineCode;

    // 校验码
    @Excel(name = "校验码", prompt = "校验码")
    private String checkCode;

    // 受票方名称
    @Excel(name = "受票方名称", prompt = "受票方名称")
    private String purchaserName;

    // 受票方税号
    @Excel(name = "受票方税号", prompt = "受票方税号")
    private String purchaserTaxNumber;

    // 受票方地址、电话
    @Excel(name = "受票方地址、电话", prompt = "受票方地址、电话")
    private String purchaserContactInfo;

    // 受票方开户行、账号
    @Excel(name = "受票方开户行、账号", prompt = "受票方开户行、账号")
    private String purchaserBankAccountInfo;

    // 密码区
    @Excel(name = "密码区", prompt = "密码区")
    private String passwordArea;

    // 不含税金额
    @Excel(name = "不含税金额", prompt = "不含税金额")
    private String invoiceAmountPreTax;

    // 发票税额
    @Excel(name = "发票税额", prompt = "发票税额")
    private String invoiceTax;

    // 大写金额
    @Excel(name = "大写金额", prompt = "大写金额")
    private String totalAmountInWords;

    // 发票金额
    @Excel(name = "发票金额", prompt = "发票金额")
    private String totalAmount;

    // 销售方名称
    @Excel(name = "销售方名称", prompt = "销售方名称")
    private String sellerName;

    // 销售方税号
    @Excel(name = "销售方税号", prompt = "销售方税号")
    private String sellerTaxNumber;

    // 销售方地址、电话
    @Excel(name = "销售方地址、电话", prompt = "销售方地址、电话")
    private String sellerContactInfo;

    // 销售方开户行、账号
    @Excel(name = "销售方开户行、账号", prompt = "销售方开户行、账号")
    private String sellerBankAccountInfo;

    // 收款人
    @Excel(name = "收款人", prompt = "收款人")
    private String recipient;

    // 复核人
    @Excel(name = "复核人", prompt = "复核人")
    private String reviewer;

    // 开票人
    @Excel(name = "开票人", prompt = "开票人")
    private String drawer;

    // 备注
    @Excel(name = "备注", prompt = "备注")
    private String remarks;

    // 标题
    @Excel(name = "标题", prompt = "标题")
    private String title;

    // 联次
    @Excel(name = "联次", prompt = "联次")
    private String formType;

    // 发票类型
    @Excel(name = "发票类型", prompt = "发票类型")
    private String invoiceType;

    // 特殊标识信息
    @Excel(name = "特殊标识信息", prompt = "特殊标识信息")
    private String specialTag;

    // 发票详单
    @Excel(name = "发票详单", prompt = "发票详单")
    private List<InvoiceBillDetails> invoiceDetails;

    private String fType;


    public InvoiceBill() {
    }

    public InvoiceBill(String invoiceCode, String invoiceNumber, String printedInvoiceCode, String printedInvoiceNumber, String invoiceDate, String machineCode, String checkCode, String purchaserName, String purchaserTaxNumber, String purchaserContactInfo, String purchaserBankAccountInfo, String passwordArea, String invoiceAmountPreTax, String invoiceTax, String totalAmountInWords, String totalAmount, String sellerName, String sellerTaxNumber, String sellerContactInfo, String sellerBankAccountInfo, String recipient, String reviewer, String drawer, String remarks, String title, String formType, String invoiceType, String specialTag, List<InvoiceBillDetails> invoiceDetails, String fType) {
        this.invoiceCode = invoiceCode;
        this.invoiceNumber = invoiceNumber;
        this.printedInvoiceCode = printedInvoiceCode;
        this.printedInvoiceNumber = printedInvoiceNumber;
        this.invoiceDate = invoiceDate;
        this.machineCode = machineCode;
        this.checkCode = checkCode;
        this.purchaserName = purchaserName;
        this.purchaserTaxNumber = purchaserTaxNumber;
        this.purchaserContactInfo = purchaserContactInfo;
        this.purchaserBankAccountInfo = purchaserBankAccountInfo;
        this.passwordArea = passwordArea;
        this.invoiceAmountPreTax = invoiceAmountPreTax;
        this.invoiceTax = invoiceTax;
        this.totalAmountInWords = totalAmountInWords;
        this.totalAmount = totalAmount;
        this.sellerName = sellerName;
        this.sellerTaxNumber = sellerTaxNumber;
        this.sellerContactInfo = sellerContactInfo;
        this.sellerBankAccountInfo = sellerBankAccountInfo;
        this.recipient = recipient;
        this.reviewer = reviewer;
        this.drawer = drawer;
        this.remarks = remarks;
        this.title = title;
        this.formType = formType;
        this.invoiceType = invoiceType;
        this.specialTag = specialTag;
        this.invoiceDetails = invoiceDetails;
        this.fType = fType;
    }

    @Override
    public String toString() {
        return "InvoiceBill{" +
                "invoiceCode='" + invoiceCode + '\'' +
                ", invoiceNumber='" + invoiceNumber + '\'' +
                ", printedInvoiceCode='" + printedInvoiceCode + '\'' +
                ", printedInvoiceNumber='" + printedInvoiceNumber + '\'' +
                ", invoiceDate='" + invoiceDate + '\'' +
                ", machineCode='" + machineCode + '\'' +
                ", checkCode='" + checkCode + '\'' +
                ", purchaserName='" + purchaserName + '\'' +
                ", purchaserTaxNumber='" + purchaserTaxNumber + '\'' +
                ", purchaserContactInfo='" + purchaserContactInfo + '\'' +
                ", purchaserBankAccountInfo='" + purchaserBankAccountInfo + '\'' +
                ", passwordArea='" + passwordArea + '\'' +
                ", invoiceAmountPreTax='" + invoiceAmountPreTax + '\'' +
                ", invoiceTax='" + invoiceTax + '\'' +
                ", totalAmountInWords='" + totalAmountInWords + '\'' +
                ", totalAmount='" + totalAmount + '\'' +
                ", sellerName='" + sellerName + '\'' +
                ", sellerTaxNumber='" + sellerTaxNumber + '\'' +
                ", sellerContactInfo='" + sellerContactInfo + '\'' +
                ", sellerBankAccountInfo='" + sellerBankAccountInfo + '\'' +
                ", recipient='" + recipient + '\'' +
                ", reviewer='" + reviewer + '\'' +
                ", drawer='" + drawer + '\'' +
                ", remarks='" + remarks + '\'' +
                ", title='" + title + '\'' +
                ", formType='" + formType + '\'' +
                ", invoiceType='" + invoiceType + '\'' +
                ", specialTag='" + specialTag + '\'' +
                ", invoiceDetails=" + invoiceDetails +
                ", fType='" + fType + '\'' +
                '}';
    }

    public String getInvoiceCode() {
        return invoiceCode;
    }

    public void setInvoiceCode(String invoiceCode) {
        this.invoiceCode = invoiceCode;
    }

    public String getInvoiceNumber() {
        return invoiceNumber;
    }

    public void setInvoiceNumber(String invoiceNumber) {
        this.invoiceNumber = invoiceNumber;
    }

    public String getPrintedInvoiceCode() {
        return printedInvoiceCode;
    }

    public void setPrintedInvoiceCode(String printedInvoiceCode) {
        this.printedInvoiceCode = printedInvoiceCode;
    }

    public String getPrintedInvoiceNumber() {
        return printedInvoiceNumber;
    }

    public void setPrintedInvoiceNumber(String printedInvoiceNumber) {
        this.printedInvoiceNumber = printedInvoiceNumber;
    }

    public String getInvoiceDate() {
        return invoiceDate;
    }

    public void setInvoiceDate(String invoiceDate) {
        this.invoiceDate = invoiceDate;
    }

    public String getMachineCode() {
        return machineCode;
    }

    public void setMachineCode(String machineCode) {
        this.machineCode = machineCode;
    }

    public String getCheckCode() {
        return checkCode;
    }

    public void setCheckCode(String checkCode) {
        this.checkCode = checkCode;
    }

    public String getPurchaserName() {
        return purchaserName;
    }

    public void setPurchaserName(String purchaserName) {
        this.purchaserName = purchaserName;
    }

    public String getPurchaserTaxNumber() {
        return purchaserTaxNumber;
    }

    public void setPurchaserTaxNumber(String purchaserTaxNumber) {
        this.purchaserTaxNumber = purchaserTaxNumber;
    }

    public String getPurchaserContactInfo() {
        return purchaserContactInfo;
    }

    public void setPurchaserContactInfo(String purchaserContactInfo) {
        this.purchaserContactInfo = purchaserContactInfo;
    }

    public String getPurchaserBankAccountInfo() {
        return purchaserBankAccountInfo;
    }

    public void setPurchaserBankAccountInfo(String purchaserBankAccountInfo) {
        this.purchaserBankAccountInfo = purchaserBankAccountInfo;
    }

    public String getPasswordArea() {
        return passwordArea;
    }

    public void setPasswordArea(String passwordArea) {
        this.passwordArea = passwordArea;
    }

    public String getInvoiceAmountPreTax() {
        return invoiceAmountPreTax;
    }

    public void setInvoiceAmountPreTax(String invoiceAmountPreTax) {
        this.invoiceAmountPreTax = invoiceAmountPreTax;
    }

    public String getInvoiceTax() {
        return invoiceTax;
    }

    public void setInvoiceTax(String invoiceTax) {
        this.invoiceTax = invoiceTax;
    }

    public String getTotalAmountInWords() {
        return totalAmountInWords;
    }

    public void setTotalAmountInWords(String totalAmountInWords) {
        this.totalAmountInWords = totalAmountInWords;
    }

    public String getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(String totalAmount) {
        this.totalAmount = totalAmount;
    }

    public String getSellerName() {
        return sellerName;
    }

    public void setSellerName(String sellerName) {
        this.sellerName = sellerName;
    }

    public String getSellerTaxNumber() {
        return sellerTaxNumber;
    }

    public void setSellerTaxNumber(String sellerTaxNumber) {
        this.sellerTaxNumber = sellerTaxNumber;
    }

    public String getSellerContactInfo() {
        return sellerContactInfo;
    }

    public void setSellerContactInfo(String sellerContactInfo) {
        this.sellerContactInfo = sellerContactInfo;
    }

    public String getSellerBankAccountInfo() {
        return sellerBankAccountInfo;
    }

    public void setSellerBankAccountInfo(String sellerBankAccountInfo) {
        this.sellerBankAccountInfo = sellerBankAccountInfo;
    }

    public String getRecipient() {
        return recipient;
    }

    public void setRecipient(String recipient) {
        this.recipient = recipient;
    }

    public String getReviewer() {
        return reviewer;
    }

    public void setReviewer(String reviewer) {
        this.reviewer = reviewer;
    }

    public String getDrawer() {
        return drawer;
    }

    public void setDrawer(String drawer) {
        this.drawer = drawer;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getFormType() {
        return formType;
    }

    public void setFormType(String formType) {
        this.formType = formType;
    }

    public String getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getSpecialTag() {
        return specialTag;
    }

    public void setSpecialTag(String specialTag) {
        this.specialTag = specialTag;
    }

    public List<InvoiceBillDetails> getInvoiceDetails() {
        return invoiceDetails;
    }

    public void setInvoiceDetails(List<InvoiceBillDetails> invoiceDetails) {
        this.invoiceDetails = invoiceDetails;
    }

    public String getfType() {
        return fType;
    }

    public void setfType(String fType) {
        this.fType = fType;
    }
}
